Adding some more judges, here and there.
[andmenj-acm.git] / lib / Mi manual de algoritmos / version_actual / src / java / priority_queue.java
blobcd7151450ffed8f1737bfc4228cefb562624e897
1 import java.util.*;
4 class Item implements Comparable<Item>{
5 int destino, peso;
7 Item(int destino, int peso){
8 this.peso = peso;
9 this.destino = destino;
12 * Implementamos toda la javazofia.
14 public int compareTo(Item otro){
15 // Return < 0 si this < otro
16 // Return 0 si this == otro
17 // Return > 0 si this > otro
18 /* Un nodo es menor que otro si tiene menos peso */
19 return peso - otro.peso;
21 public boolean equals(Object otro){
22 if (otro instanceof Item){
23 Item ese = (Item)otro;
24 return destino == ese.destino && peso == ese.peso;
26 return false;
28 public String toString(){
29 return "peso = " + peso + ", destino = " + destino;
33 class Ejemplo {
34 public static void main(String[] args) {
35 PriorityQueue<Item> q = new PriorityQueue<Item>();
36 q.add(new Item(12, 0));
37 q.add(new Item(4, 1876));
38 q.add(new Item(13, 0));
39 q.add(new Item(8, 0));
40 q.add(new Item(7, 3));
41 while (!q.isEmpty()){
42 System.out.println(q.poll());